Soru & Cevap

C# - OleDb Excel - Küçük bir hata

28.07.2017 - 11:54

Merhaba,

Aşağıdaki gibi bir kodum var, Veritabanından gelen veriyi Excel şablonuna(xlsm) aktarması gerekiyor.Boş Excel(xlsm) e aktarıyor ancak normal hazırdaki şablona aktarmıyor.

İnceleyip nerede hata yaptığımı ve nasıl düzeltebileceğimi söylermisiniz? Teşekkürler.

  var sfd = new SaveFileDialog();
            sfd.Title = "Excel'e Aktar";
            sfd.Filter = "Excel dosyaları|*.xlsm";
            if (sfd.ShowDialog() == DialogResult.OK)
            {

                File.WriteAllBytes(sfd.FileName, Properties.Resources.orj);

                OleDbConnection cn = new OleDbConnection($"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={sfd.FileName};Extended Properties = \"Excel 12.0 Xml;HDR=YES;IMEX=0\"; ");
                cn.Open();
                OleDbCommand cmd = new OleDbCommand("INSERT INTO [Montaj$]([MODEL],[BEDEN],[ADET]) VALUES (@Model, @Beden, @Adet)", cn);

                foreach (var item in dataSetMain1.Rapor1)
                {
                    cmd.Parameters.Clear();
                    cmd.Parameters.AddWithValue("@Model", item.STOKKODU);
                    cmd.Parameters.AddWithValue("@Beden", item.BEDEN);
                    cmd.Parameters.AddWithValue("@Adet", item.MIKTARI_2);
                    cmd.ExecuteNonQuery();
                }
                cn.Close();
                MessageBox.Show("ok");

            }

 

Aldığım hata şudur:

Görsel kaldırıldı.

 

 

Bu hatayı veriyor MODEL alanı bulunamadı diyor ama oluşturulan dosyada mevcut :)

Görsel kaldırıldı.

97 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user zy.orhan
zy.orhan
04.12.2019 - 01:01

Merhaba, bildiğim kadarıyla OleDB excellin ilk satırından sonraki satırlarını veri olarak algılamaktadır. Bu nedenle belirli bir şablona veri eklemek istiyorsanız, sütun isimlerini ilk satıra yazmalısınız.